const http = require('http');
const querystring = require('querystring');
const util = require('util');
// 请求2次的原因 是网络访问的2次,一次请求,一次favicon.ico
let server = http.createServer();

server.on("request", (req, res) => {
  res.setHeader("content-type", "application/json;charset=utf-8")
  //从req中获取请求相关内容
  console.log(req.method);
  console.log(req.url);
  //从req中获取请求相关内容
  if (req.method === "POST" && req.url.includes("/index.html")) {
    // 定义了一个post变量，用于暂存请求体的信息
    let post = '';
    // 通过req的data事件监听函数，每当接受到请求体的数据，就累加到post变量中
    req.on('data', function (chunk) {
      console.log(chunk.toString());
      // chunk是原始二进制数据，需要转化成字符串
      post += chunk.toString()
    });
    // 在end事件触发后，通过querystring.parse将post解析为真正的POST请求格式，然后向客户端返回。
    req.on('end', function () {
      post = querystring.parse(post);
      res.write(util.inspect(post));
      res.end();
    });
  }else{
    res.end();
  }
 
})

server.listen("8080", () => {
  console.log("创建了项目,监听8080,访问http:127.0.0.1:8080");
})
